Important Note:

The code for the Neural Network is completed but putting it into the website is proving trickier than expected. Please hold tight while I fix the issues. I’m trying to get the code embedded as soon as possible.

What is the Iris Flower Dataset?

The Iris Flower Dataset, also known as Fisher’s Iris set, was introduced by a British scientist named Ronald Fisher in 1936. The Dataset has 50 different samples from each of three different types of flowers - Iris Setosa, Iris Virginica, and Iris Versicolor. Each sample has the sepal length, sepal width, petal length, and petal width of the flower.

This dataset can have many uses within data analysis and I decided, as one of my first experiments with Neural Networks and Machine Learning, to build a Neural Network capable of classifying the three different species all the way from the ground up. This meant I wasn’t allowed to use any libraries like Numpy or Tensorflow or Keras, even for Linear Algebra. The Network has one input layer with 4 nodes, one hidden layer with 5 nodes, and one output layer with 3 nodes and used the Sigmoid function for the activation of nodes. It took a while to get working, and even now the backpropogation isn’t fully working (only the hidden to output layer weights are being modified) but the network ended up with a relatively high accuracy rate on the test dataset.

Summary of a Neural Network

A Neural Network is a program designed to mimic how the human brain works. Just think about the process of when you see and identify something - the input layer, or your eyes, takes the information and passes it to the hidden layer, or your brain, which then processes the information and passes the result to the output layer, which is what you identify it as. All the different layers of a Neural Network have “nodes”, which are similar to small cells designed to carry information and each node is connected to all the nodes in the next layer. Neural Networks generally use two different subsections of the overall dataset: + A training set, which is used (as in its name describes) for training the network + A testing set, which is used to test the accuracy of the network after it was trained

The Network Itself

Now that we’ve briefly gone over what a neural network is and what its dataset is, we can experiment with it!

The driver code itself is hidden but you’ll be able to modify how many iterations the network trains which in turn will affect how accurate (or inaccurate) the network will be when it’s tested.

 

A Website made by ThunderingWest4